//
// Created by yangdian on 2020/5/18.
//

#ifndef XPLAY_FFDEMUX_H
#define XPLAY_FFDEMUX_H

#include "IDemux.h"
struct AVFormatContext;

class FFDemux : public IDemux{
public:
    FFDemux();

    // 打开文件，或者流媒体 rtmp http rtsp
    virtual bool Open(const char *url);
    // 获取视频参数
    virtual XParameter GetVPara();
    // 获取音频参数
    virtual XParameter GetAPara();
    // 读取一帧数据，数据由调用者清理
    virtual XData Read();

private:
    AVFormatContext *ic = nullptr;
    int audioStream = 1;
    int videoStream = 0;
};


#endif //XPLAY_FFDEMUX_H
